Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[8.17](backport #6277) [k8s]: transition integration tests to adapter pattern #6359

Merged
merged 4 commits into from
Dec 19, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Dec 17, 2024

What does this PR do?

This PR continues the groundwork for Kubernetes hints integration tests. The next and last episode of this PR-series can be seen here 2ea1f2f. Again these were split up because I want to keep each PR around 500 lines.

Key changes in this PR:

  1. Transition Kubernetes integration tests to an "adapter" pattern:

    • Refactors Kubernetes integration tests to follow a more modular and reusable adapter pattern.
    • Introduces k8sTestStep functions that encapsulate individual test steps for clarity and flexibility.
    • Simplifies the test flow by eliminating repetitive code and leveraging reusable functions like k8sStepCreateNamespace, k8sStepDeployKustomize, and k8sStepRunInnerTests.
    • Improves readability and maintainability.
  2. Align all kubernetes integration tests:

    • All kubernetes integration tests got an empty for now skipReason.
    • All kubernetes integration tests check for schedulable k8s nodes and got more deterministic in the number of agent pods expected to be running.

Why is it important?

The adapter pattern for Kubernetes integration tests enhances readability, maintainability, making it easier to add or modify test cases.

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • [ ] I have made corresponding changes to the documentation
  • [ ] I have made corresponding changes to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • [ ] I have added an entry in ./changelog/fragments using the changelog tool
  • I have added an integration test or an E2E test

Disruptive User Impact

  • None expected. The changes affect only the internal kubernetes integration tests without altering user-facing configurations or behaviours.

How to test this PR locally

mage integration:auth
PLATFORMS=linux/arm64 EXTERNAL=true SNAPSHOT=true PACKAGES=docker mage -v package 
INSTANCE_PROVISIONER=kind STACK_PROVISIONER=stateful K8S_VERSION=v1.31.1 SNAPSHOT=true mage integration:kubernetes

Related issues

* feat: transition kubernetes integration tests to adapter pattern

* fix: count nodes without NoSchedule taints

(cherry picked from commit 67c744f)
@mergify mergify bot requested a review from a team as a code owner December 17, 2024 17:15
@mergify mergify bot added the backport label Dec 17, 2024
@mergify mergify bot requested review from andrzej-stencel and michel-laterman and removed request for a team December 17, 2024 17:15
@pkoutsovasilis
Copy link
Contributor

requires this PR to be merged

Copy link

@pkoutsovasilis pkoutsovasilis merged commit 8640228 into 8.17 Dec 19, 2024
14 checks passed
@pkoutsovasilis pkoutsovasilis deleted the mergify/bp/8.17/pr-6277 branch December 19, 2024 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant